#include "../../include/api/baseTask.h"
#include <mutex>

C_baseTask::C_baseTask()
{

}

C_baseTask::~C_baseTask()
{

}

C_baseTask *C_baseTask::getBaseTaskObj(void)
{
    return this;
}


/***********************************************
 * @author: tianxiaogua
 * @date:   23/8
 * @brief:  对各个驱动进程下面的各个驱动线程做初始化管理
 * @var:    void
 * @return: None
 ***********************************************/

 ///一定会成功的，不需要返回值
int32_t C_baseTask::createThread(void)
{
    p_thread = std::thread(&C_baseTask::LoopFun, this); // 只能这么写，不这么写会报错
    return true;
}


int32_t C_baseTask::initTask(void) /// 需函数实现加 override
{
    return 0;
}

void C_baseTask::runLoopTask(void)// override
{
///增加是否运行flag,控制开始和推出循环
}

//
void C_baseTask::LoopFun(void)
{
    //std::mutex lock;
    //lock.lock();  //加锁
    spdlog::info("C_baseTask, make base class");
    ///这里同样，可以根据线程配置参数，限制频率
    runLoopTask();
}

